home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d21 / cld2_120.arc / CHILD2.DOC < prev    next >
Text File  |  1989-05-27  |  15KB  |  672 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.                                      * * *
  13.  
  14.                                  C H I L D   2
  15.  
  16.                                      * * *
  17.  
  18.                            OPUS  Overlay Program EXEC
  19.                           (C) 1988, 1989 Angelo Besani
  20.                      AmnésiA CBCS  2:331/101 +39-331-263425
  21.  
  22.                                  Version  1.20
  23.  
  24.                                      * * *
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  63.  
  64.  
  65.  
  66.                                Table of contents
  67.                                -----------------
  68.  
  69.         Notice . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  70.  
  71.         Why CHILD2.COM . . . . . . . . . . . . . . . . . . . . . .  3
  72.  
  73.         Where CHILD2.COM can be used . . . . . . . . . . . . . . .  3
  74.  
  75.         How to use CHILD2.COM  . . . . . . . . . . . . . . . . . .  4
  76.  
  77.         Multitasking environments  . . . . . . . . . . . . . . . .  5
  78.  
  79.         How to modify CHILD2.COM . . . . . . . . . . . . . . . . .  7
  80.  
  81.         And to finish  . . . . . . . . . . . . . . . . . . . . . .  8
  82.  
  83.         Revision history . . . . . . . . . . . . . . . . . . . . .  9
  84.  
  85.         Child.Com  . . . . . . . . . . . . . . . . . . . . . . . . 10
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.         CHILD2 user's manual                                      Page 1
  123.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  124.  
  125.  
  126.  
  127.          NOTICE-NOTICE-NOTICE-NOTICE-NOTICE-NOTICE-NOTICE-NOTICE-NOTICE
  128.  
  129.         CHILD2.COM uses undocumented DOS calls.  It has been tested only 
  130.         under dos 3.20.  No guaranty is given here that CHILD2.COM  will 
  131.         work under other versions of MS-DOS.
  132.  
  133.         CHILD2.COM,  under multitasking environment,  can be confused by 
  134.         TSR  (Terminate  and Stay Resident)  routines  which  deallocate 
  135.         their  copy of ms-dos environment.  To reduce the possibility of 
  136.         such problems,  put ALL THE SET STATEMENTS in your  AUTOEXEC.BAT 
  137.         BEFORE running the TSR routines.
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.         CHILD2 user's manual                                      Page 2
  184.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  185.  
  186.  
  187.  
  188.                                Why CHILD2.COM????
  189.                                ------------------
  190.  
  191.         This  program has been developed to reduce the amount of  memory 
  192.         required  to  run an external program from  OPUS.  Its  original 
  193.         purpose  (and  it  is still used in this  way)  was  to  execute 
  194.         Opus  Xpress  by Hector Santos from the O)utside option  of  the 
  195.         Opus MESSAGE Menu.  Normally,  invoking an external program from 
  196.         OPUS  in the 205kBytes task (205 Kbytes is the memory size  I've 
  197.         found necessary for OPUS to work properly) only about  110kbytes 
  198.         are available to the external program. CHILD2.COM, by writing to 
  199.         disk  the OPUS code not required by the external program itself, 
  200.         will  reduce  the  resident portion of OPUS  to  2.6Kbytes  thus 
  201.         giving nearly the whole memory to the external program. When the 
  202.         external program exits,  CHILD2.COM will read the overlay  files 
  203.         created, restore the original code and go back to OPUS.
  204.  
  205.  
  206.  
  207.                           Where CHILD2.COM can be used
  208.                           ----------------------------
  209.  
  210.         CHILD2.COM  can  be  used in OPUS  ONLY  FROM  THOSE  PARTICULAR 
  211.         OPTIONS  which  *DON'T*  load  first COMMAND.COM  and  then  the 
  212.         external program.  So CHILD2.COM *CAN'T* be used,  for  example,  
  213.         in the ^OC embedded command.
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.         CHILD2 user's manual                                      Page 3
  245.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  246.  
  247.  
  248.  
  249.                              How to use CHILD2.COM
  250.                              ---------------------
  251.  
  252.         4 easy steps are required to install CHILD2.COM:
  253.  
  254.         1) Put  "External  program  ..path..\CHILD2.COM" in  the  proper 
  255.            place of the OPUS .CTL file and compile it.
  256.         2) Decide  (and create,  if it isn't already existing) the  disk 
  257.            and  disk  directory  where CHILD2.COM can  put  the  overlay 
  258.            files.
  259.         3) Put  in your AUTOEXEC.BAT,  or whatever the starting .BAT  is 
  260.            called, the statement
  261.                               SET CHILDTEMP=..path..
  262.            where  ..path..  is the fully qualified pathname  decided  in 
  263.            step  2.  If no CHILDTEMP is SET,  CHILD2.COM will write  the 
  264.            overlay files in the OPUS root directory.
  265.            If  you have Expanded memory LIM/EMS version 3.2 or  greater, 
  266.            it  is possible use it instead of disk files.  Simply put  an 
  267.            asterisk ('*') just after the equal sign:
  268.                               SET CHILDTEMP=*..path..
  269.            If  there is not enough memory or if errors  are  encountered 
  270.            while  swapping OPUS out of conventional memory into expanded 
  271.            memory,  normal  disk files placed in ..path..  will be  used 
  272.            instead of expanded memory.
  273.  
  274.         4) Create,  in the OPUS root directory,  OPXCHILD.BAT, the batch 
  275.            file executed by CHILD2.COM: on 2:331/101 OPXCHILD.BAT is
  276.                              CD XPRESS
  277.                              OPXPRESS -P1
  278.                              CD ..
  279.                              EXIT
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.         CHILD2 user's manual                                      Page 4
  306.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  307.  
  308.  
  309.  
  310.                            Multitasking environments
  311.                            -------------------------
  312.  
  313.         CHILD2.COM has been fully tested under MULTILINK,  DesqView  2.0 
  314.         and 2.2: 2:331/101 is working from the beginning of OCTOBER 1988 
  315.         and NO problems has been noticed.
  316.  
  317.         No  particular  things  must  be made to  use  CHILD2.COM  in  a 
  318.         multitasking environment. Only note:
  319.  
  320.         1) The overlay files:
  321.            a) Specify  differents  paths in  the  CHILDTEMP  environment 
  322.               variable
  323.             or
  324.            b) Use the same path for all the tasks but change the overlay 
  325.               names.
  326.  
  327.            Please note the way that overlay filenames are created: there 
  328.            are the 3 defaults name of SWAP1.OVL,  SWAP2.OVL,  SWAP3.OVL. 
  329.            If  a  CHILDTEMP  environment  variable  can  be  found,  the 
  330.            pathname  is copied right BEFORE the  default  filenames.  In 
  331.            batch language the 3 filenames can be thinked as
  332.                               %CHILDTEMP%SWAP1.OVL
  333.                               %CHILDTEMP%SWAP2.OVL
  334.                               %CHILDTEMP%SWAP3.OVL
  335.  
  336.            Example of a) option:
  337.  
  338.                     Task 1                           Task 2
  339.              CHILDTEMP=C:\OPUS\TEMP1\         CHILDTEMP=C:\OPUS\TEMP2\
  340.                            (Note the final backslash)
  341.  
  342.                                  Files created:
  343.              C:\OPUS\TEMP1\SWAP1.OVL          C:\OPUS\TEMP2\SWAP1.OVL
  344.              C:\OPUS\TEMP1\SWAP2.OVL          C:\OPUS\TEMP2\SWAP2.OVL
  345.              C:\OPUS\TEMP1\SWAP3.OVL          C:\OPUS\TEMP2\SWAP3.OVL
  346.  
  347.            Example of b) option:
  348.  
  349.                     Task 1                           Task 2
  350.              CHILDTEMP=C:\OPUS\TEMP\1         CHILDTEMP=C:\OPUS\TEMP\2
  351.                     (Note there is NOT the final backslash)
  352.  
  353.                                  Files created:
  354.              C:\OPUS\TEMP\1SWAP1.OVL          C:\OPUS\TEMP\2SWAP1.OVL
  355.              C:\OPUS\TEMP\1SWAP2.OVL          C:\OPUS\TEMP\2SWAP2.OVL
  356.              C:\OPUS\TEMP\1SWAP3.OVL          C:\OPUS\TEMP\2SWAP3.OVL
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.         CHILD2 user's manual                                      Page 5
  367.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  368.  
  369.  
  370.  
  371.         2) Command  line  options:  if  the external program  must  have 
  372.            different   command  lines  in  different  tasks,   you   can 
  373.            successfully  use environment variables.  For example if  you 
  374.            have 2 tasks and you want to run opxpress in task 1 on  COM1: 
  375.            with  OPX1.CTL and in task 2 on COM2:  with OPX2.CTL you  can 
  376.            SET:
  377.                     Task 1                           Task 2
  378.              OPX=-p1 -copx1.ctl               OPX=-p2 -copx2.ctl
  379.            and make the OPXCHILD.BAT looks like:
  380.                                CD XPRESS
  381.                                OPXPRESS %OPX%
  382.                                CD ..
  383.                                EXIT
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.         CHILD2 user's manual                                      Page 6
  428.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  429.  
  430.  
  431.  
  432.                             How to modify CHILD2.COM
  433.                             ------------------------
  434.  
  435.         No  changes are required to use CHILD2.COM  with  OPXPRESS.  But 
  436.         someone  could  find CHILD2.COM useful to run other programs  in 
  437.         OPUS:  in  this  case  it  is  necessary  rename  CHILD2.COM  to 
  438.         something else and to change the name of the BATch program  that 
  439.         CHILD2.COM  executes.  The name is located at offset 0B23 hex of 
  440.         CHILD2.COM  (version 1.20) and it is defaulted to  OPXCHILD.BAT. 
  441.         You can easily change it but remember:
  442.         1) Don't change the leading '/C'
  443.         2) Don't change the following blank character
  444.         3) If it is necessary to change the LENGHT of the program name:
  445.            3a) Start writing the new program name just after the '/C'
  446.            3b) End the program name with a 'space' (0x20)
  447.            3c) Put in the byte  at offset 0B20 hex of CHILD2.COM (version  
  448.                1.20) the lenght of the program name plus 3.
  449.                Example.  Program name: 'C:\UTILS\SOME.EXE' (17 characters 
  450.                long)
  451.                     Original:    /COPXCHILD.BAT·
  452.                     Change in:   /CC:\UTILS\SOME.EXE·
  453.                     And put 20 dec in byte at offset 0B20 hex.
  454.                     Note: '·' indicates a 'space'
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474.  
  475.  
  476.  
  477.  
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.         CHILD2 user's manual                                      Page 7
  489.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  490.  
  491.  
  492.  
  493.                               ... and to finish...
  494.                               --------------------
  495.  
  496.         1) .OVL size. The amount of disk space required by the 3 overlay 
  497.            files is about 130Kbytes:
  498.                  SWAP1.OVL is about 129000 bytes long
  499.                  SWAP2.OVL is  about 110-180 bytes long (it  depends  on 
  500.                            the number of environment variable SET)
  501.                  SWAP3.OVL is about 4000 bytes long
  502.            If you use Expanded Memory,  CHILD2.COM will generally use  9 
  503.            pages, 147456 bytes.
  504.  
  505.         2) .OVL  files.  The  SWAPx.OVL files are automatically  deleted 
  506.            just  before  re-entering OPUS;  anyway if system had  to  be 
  507.            rebooted  due  to  an  error (see below) it  is  likely  that 
  508.            SWAPx.OVL  files  still exist.  Don't worry:  the  next  time 
  509.            CHILD2.COM  will  be a little slower (it has  to  delete  the 
  510.            files) but everything will work well.
  511.  
  512.         3) Errors.  If  errors are encountered while writing one of  the 
  513.            three  overlay files,  CHILD2.COM is aborted and user will go 
  514.            back in OPUS (without executing OPXCHILD.BAT);  if errors are 
  515.            encountered later,  the system will pause 10 seconds and then 
  516.            perform a short boot.
  517.            As said at page 4, if errors are found using expanded memory, 
  518.            everytime  it's  possible normal disk files will be  used  in 
  519.            place of expanded memory.
  520.  
  521.         4) Have the 'COMSPEC' environment variable set exactly!!!
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.         CHILD2 user's manual                                      Page 8
  550.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  551.  
  552.  
  553.                                 Revision history
  554.                                 ----------------
  555.  
  556.                                  Version 1.01b
  557.         Initial release.
  558.  
  559.                                  Version  1.02
  560.         A  bug  has  been found (and fixed):  if  there  was  less  than 
  561.         64kBytes  of available memory under OPUS for external  programs, 
  562.         CHILD2  was 'forgetting' the stack in the wrong  place,  causing 
  563.         the  system  to hang while re-entering OPUS.  Now,  if there  is 
  564.         sufficient  memory for CHILD2 to start,  everything should  work 
  565.         well. Anyway, don't forget that Murphy lives!
  566.  
  567.                                  Version  1.10
  568.         Direct  Expanded  Memory  LIM/EMS  support has  been  added  and 
  569.         marginal code cleanup has been done.
  570.  
  571.                                  Version  1.20
  572.         CHILD2.COM  now  passes  to the BATch program the  command  line 
  573.         parameters it gets from OPUS. Not necessary for OPXPRESS but may 
  574.         be needed by other programs.
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.         CHILD2 user's manual                                      Page 9
  611.         CHILD2 Overlay Program EXEC                    (C) Angelo Besani
  612.  
  613.  
  614.                                    Child.com
  615.                                    ---------
  616.  
  617.         CHILD.COM is the "big memory" version of CHILD2. It work exactly 
  618.         in  the same way.  The only (BIG) difference is  that  CHILD.COM 
  619.         doesn't swap OPUS.EXE to disk or into expanded memory, but keeps 
  620.         everything in conventional memory:  CHILD.COM makes nothing  but 
  621.         simply calling COMMAND.COM. One of the possible use of CHILD.COM 
  622.         is  to  execute  a  BATCH program from the  O)utside  option  of 
  623.         Message  and/or  File  Menu.  This cannot  be  done  by  calling 
  624.         COMMAND.COM due to the parameters OPUS puts on the command line, 
  625.         which confuse COMMAND.COM.
  626.  
  627.                                  Version  1.10
  628.         Same as CHILD2 version 1.20: CHILD now passes the command line.
  629.  
  630.  
  631.  
  632.  
  633.  
  634.  
  635.  
  636.  
  637.  
  638.  
  639.  
  640.  
  641.  
  642.  
  643.  
  644.  
  645.  
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.         CHILD2 user's manual                                      Page 10
  672.